package model;

import java.io.Serializable;
import javax.persistence.*;
import java.util.List;


/**
 * The persistent class for the personne database table.
 * 
 */
@Entity
@NamedQuery(name="Personne.findAll", query="SELECT p FROM Personne p")
public class Personne implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	private int idPersonne;

	private String dtype;

	private String email;

	private String genre;

	private String nom;

	private String prenom;

	private String telephone;

	//bi-directional many-to-one association to Candidat
	@OneToMany(mappedBy="personne")
	private List<Candidat> candidats;

	//bi-directional many-to-one association to Tuteur
	@OneToMany(mappedBy="personne")
	private List<Tuteur> tuteurs;

	//bi-directional many-to-one association to Utilisateur
	@OneToMany(mappedBy="personne")
	private List<Utilisateur> utilisateurs;

	public Personne() {
	}

	public int getIdPersonne() {
		return this.idPersonne;
	}

	public void setIdPersonne(int idPersonne) {
		this.idPersonne = idPersonne;
	}

	public String getDtype() {
		return this.dtype;
	}

	public void setDtype(String dtype) {
		this.dtype = dtype;
	}

	public String getEmail() {
		return this.email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getGenre() {
		return this.genre;
	}

	public void setGenre(String genre) {
		this.genre = genre;
	}

	public String getNom() {
		return this.nom;
	}

	public void setNom(String nom) {
		this.nom = nom;
	}

	public String getPrenom() {
		return this.prenom;
	}

	public void setPrenom(String prenom) {
		this.prenom = prenom;
	}

	public String getTelephone() {
		return this.telephone;
	}

	public void setTelephone(String telephone) {
		this.telephone = telephone;
	}

	public List<Candidat> getCandidats() {
		return this.candidats;
	}

	public void setCandidats(List<Candidat> candidats) {
		this.candidats = candidats;
	}

	public Candidat addCandidat(Candidat candidat) {
		getCandidats().add(candidat);
		candidat.setPersonne(this);

		return candidat;
	}

	public Candidat removeCandidat(Candidat candidat) {
		getCandidats().remove(candidat);
		candidat.setPersonne(null);

		return candidat;
	}

	public List<Tuteur> getTuteurs() {
		return this.tuteurs;
	}

	public void setTuteurs(List<Tuteur> tuteurs) {
		this.tuteurs = tuteurs;
	}

	public Tuteur addTuteur(Tuteur tuteur) {
		getTuteurs().add(tuteur);
		tuteur.setPersonne(this);

		return tuteur;
	}

	public Tuteur removeTuteur(Tuteur tuteur) {
		getTuteurs().remove(tuteur);
		tuteur.setPersonne(null);

		return tuteur;
	}

	public List<Utilisateur> getUtilisateurs() {
		return this.utilisateurs;
	}

	public void setUtilisateurs(List<Utilisateur> utilisateurs) {
		this.utilisateurs = utilisateurs;
	}

	public Utilisateur addUtilisateur(Utilisateur utilisateur) {
		getUtilisateurs().add(utilisateur);
		utilisateur.setPersonne(this);

		return utilisateur;
	}

	public Utilisateur removeUtilisateur(Utilisateur utilisateur) {
		getUtilisateurs().remove(utilisateur);
		utilisateur.setPersonne(null);

		return utilisateur;
	}

}